package com.qianyu.core.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qianyu.core.entity.bean.QqAccount;
import com.qianyu.core.entity.dto.QqAccountDto;
import com.qianyu.core.entity.dto.api.OpenNotifyDto;
import com.qianyu.core.entity.vo.AppidAndQqVo;
import com.qianyu.core.entity.vo.QqAccountVo;

import java.util.List;

public interface QqAccountService extends IService<QqAccount> {
    /**
     * 分页查询qq账号
     */
    Page<QqAccount> pageList(QqAccountDto.QqAccountPageDto dto);

    /**
     * 入号申请
     */
    Boolean applyAccount(Integer num);

    /**
     * 查询可租用账号
     */
    List<QqAccount> listAccountIsAble(Integer num);

    /**
     * 服务商查询代理账号列表
     */
    Page<QqAccountVo.AccountSimpleVo> pageByAgency(QqAccountDto.QqAccountSimplePageDto dto);

    /**
     * 操作员获取账号列表
     */
    Page<QqAccount> pageByRent(QqAccountDto.QqAccountRentPageDto dto);

    /**
     * 导出登录值
     */
    List<QqAccount> exportAccount();

    /**
     * 分配账号
     */
    Boolean distributeAccount(QqAccountDto.QqAccountDistributeDto dto);

    /**
     * 通过qq登录值获取登录open
     */
    String getQqOpen(String appid,String loginVal);

    /**
     * 刷open取号
     */
    AppidAndQqVo getOpen();

    /**
     * 刷open回调
     */
    void openNotify(OpenNotifyDto dto);
}
